--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Commit 39fce2a7b89696ae237e0f4af47a094519e0571c
Parents : e256002
Author : zenith <157907903+RFnexus@users.noreply.github.com>
Date : 2026-03-28T18:32:18-04:00
Fix for invalid message signatures after index failes to write
Changes
Diff
diff --git a/nomadnet/ui/textui/Conversations.py b/nomadnet/ui/textui/Conversations.py
index c0a576e..e68f3c2 100644
--- a/nomadnet/ui/textui/Conversations.py
+++ b/nomadnet/ui/textui/Conversations.py
@@ -9,6 +9,7 @@ import urwid
from datetime import datetime, timedelta
from nomadnet.Directory import DirectoryEntry
+from nomadnet.Conversation import ConversationMessage
def relative_time(timestamp):
@@ -1247,14 +1248,25 @@ class ConversationWidget(urwid.WidgetWrap):
self.updating_message_widgets = True
self.message_widgets = []
added_hashes = []
+ needs_index = []
for message in self.conversation.messages:
message_hash = message.get_hash()
if not message_hash in added_hashes:
added_hashes.append(message_hash)
+ was_loaded = message.loaded
message_widget = LXMessageWidget(message)
self.message_widgets.append(message_widget)
+ if not was_loaded and message.loaded:
+ needs_index.append(message)
message.unload()
+ if needs_index:
+ try:
+ ConversationMessage.write_index(
+ self.conversation.messages_path, needs_index)
+ except Exception:
+ pass
+
if self.sort_by_timestamp:
self.message_widgets.sort(key=lambda m: m.timestamp, reverse=False)
else:
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────